var ds;
var grid;
var insertForm;
var updateForm;
var form;
var win;
var hopeOrReal = ["目标", "实际"];
Ext.onReady(function() {

			initData();

		});
var stepStore;
var yearStore;
var monthStore;
var sortStore;
var schemeStore;
var cache_spec;
var propertyNum = 33;
var propertyName = ["编号", "目标或实际", "月份", "年份", "规格", "分厂号", "订单号", "订单数量",
		"牌号", "入库牌号", "配方价格", "毛坯入库规格", "毛重", "前道收得率", "已磨成品率", "未磨成品率", "废品率",
		"前道费用", "产品入库成本", "规格类型", "加工流程编号", "镀层", "包装费", "后道收得率", "实际的订单成本",
		"订单日期", "订单成本", "订单利润", "备注", "结算人", "结算日期"];
var expander = new Ext.grid.RowExpander({
			tp : new Ext.XTemplate(
					'<p><b>{grossweight}:</b> {company}</p><br>',
					'<p><b>Summary:</b> {desc}</p>'),
			tpl : new Ext.XTemplate('<div class="detailData">', '', '</div>')
		});
var ob;
expander.on("collapse", function(expander, r, body, rowIndex) {

		});
expander.on("expand", function(expander, r, body, rowIndex) {

	if (Ext.DomQuery.select("div.detailData", body).length == 1) {

		var store = new Ext.data.Store({
					proxy : new Ext.data.HttpProxy({
								url : '../ordersumsub.do?action=list'
							}),

					reader : new Ext.data.JsonReader({
								root : 'root'
							}, [{
										name : 'id'
									}, {
										name : 'orderSumId'
									}, {
										name : 'processName'

									}, {
										name : 'afterSpec'
									}, {
										name : 'ordernum'
									}, {
										name : 'processYield',
										type : 'float'
									}, {
										name : 'processUpdate',
										type : 'float'
									}, {
										name : 'unitPrice',
										type : 'float'
									}, {
										name : 'processArea',
										type : 'float'
									}, {
										name : 'processPrice',
										type : 'float'
									}, {
										name : 'untilPrice',
										type : 'float'
									}, {
										name : 'type'
									}, {
										name : 'processNum'
									}, {
										name : 'processPos'
									}])
				});
		store.load({
					params : {
						orderSumId : r.json["id"],
						type : r.json["type"]
					},
					callback : function(records, o, s) {

						if (s) {
							if (store.getCount() > 0) {
								var cm = new Ext.grid.ColumnModel([{
											header : "编号",
											dataIndex : 'id',
											hidden : true,
											// hideable:false,resizable:true,
											width : 80
										}, {
											header : "加工名称",
											width : 80,
											css : 'font-weight: bold;font-size:15px',
											hideable : false,
											resizable : true,
											dataIndex : 'processName'
										}, {
											header : "加工后规格",
											width : 80,
											css : 'font-weight: bold;font-size:18px',
											dataIndex : 'afterSpec'

										}, {
											header : "加工件数",
											width : 80,
											dataIndex : 'processNum'

										}, {
											header : "加工步骤",
											width : 80,
											hidden : true,
											dataIndex : 'processPos'
										}, {
											header : "加工成品率",
											width : 80,
											dataIndex : 'processYield'

										}, {
											header : "加工价格提升",
											width : 80,
											dataIndex : 'processUpdate'

										}, {
											header : "加工单价",
											width : 80,
											dataIndex : 'unitPrice'

										}, {
											header : "加工面积",
											width : 80,
											dataIndex : 'processArea'
										}, {
											header : "加工价格",
											width : 80,
											dataIndex : 'processPrice'

										}, {
											header : "到目前为止价格",
											width : 80,
											dataIndex : 'untilPrice'

										}]);

								var ret = new Ext.grid.GridPanel({
											renderTo : Ext.DomQuery.select(
													"div.detailData", body)[0],
											autoWidth : true,
											autoHeight : true,
											autoScorll : true,
											ds : store,
											cm : cm
										});
							}

						}
					}

				});

		// grid.getView().getRow(rowIndex).refresh();

	}
});

// Ext.extend(Ext.grid.ColumnModel, Ext.grid.ColumnModel, {test:'234'});
// var orderExcel = new OrderExcel();
function initData() {

	sortStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderProcessAdd.do?action=sortList'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'id'
								}, {
									name : 'specName'
								}, {
									name : 'scheme'
								}, {
									name : 'processName'
								}, {
									name : 'processPos'
								}, {
									name : 'areaFunc'
								}, {
									name : 'bz'
								}, {
									name : 'date1'
								}])
			});
	sortStore.load({
				params : {
					start : 0,
					limit : 10
				}
			}, {
				callback : function(_rec, o, s) {
				}
			});
	schemeStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderProcessAdd.do?action=schemeList'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'id'
								}, {
									name : 'specName'
								}, {
									name : 'scheme'
								}, {
									name : 'processName'
								}, {
									name : 'processPos'
								}, {
									name : 'areaFunc'
								}, {
									name : 'bz'
								}, {
									name : 'date1'
								}])
			});
	ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../ordersummain.do?action=list'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'id'
								}, {
									name : 'spec'
								}, {
									name : 'factory'

								}, {
									name : 'transnum'
								}, {
									name : 'ordernum'
								}, {
									name : 'ssign'
								}, {
									name : 'ssign_yz'
								}, {
									name : 'grossweight',
									type : 'float'
								}, {
									name : 'qiandao_yield',
									type : 'float'
								}, {
									name : 'yimo',
									type : 'float'
								}, {
									name : 'weimo',
									type : 'float'
								}, {
									name : 'feipin',
									type : 'float'
								}, {
									name : 'qiandao_cost',
									type : 'float'
								}, {
									name : 'product_cost_before',
									type : 'float'
								}, {
									name : 'specType'
								}, {
									name : 'processScheme'
								}, {
									name : 'plate'
								}, {
									name : 'houdao_yield',
									type : 'float'
								}, {
									name : 'date1'
								}, {
									name : 'baozhuangfei',
									type : 'float'
								}, {
									name : 'houdao_yield',
									type : 'float'
								}, {
									name : 'product_cost_last',
									type : 'float'
								}, {
									name : 'ordercost',
									type : 'float'
								}, {
									name : 'lirun',
									type : 'float'
								}, {
									name : 'bz'
								}, {
									name : 'maker'
								}, {
									name : 'makeDate'
								}, {
									name : 'type'
								}, {
									name : 'peifang',
									type : 'float'
								}, {
									name : 'spec_yz'
								}, {
									name : 'month1'
								}, {
									name : 'year1'
								}, {
									name : 'status'
								}])
			});

	ds.load({
				params : {
					start : 0,
					limit : 10
				},
				callback : function(records, o, s) {
				}
			});
	ds.on("load", function(_this, _rec, _opt) {
				ds.each(function(_rec) {
							_rec.data["status"] = hopeOrReal[_rec.data["type"]];

						});
				grid.getView().refresh();// 这里要刷新一下才显示得出来.

			})

	stepStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../orderJiaGongIndex.do?action=step'
						}),
				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'processName'
								}, {
									name : 'processPos'
								}])
			});
	ds.on("load", function(_this, _record, _opt) {
				var arr = _record;
				for (var i = 0; i < arr.length; i++)
					arr[i].data["status"] = hopeOrReal[arr[i].data["type"]];
			});

	processStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../ordersumsub.do?action=list'
						}),

				reader : new Ext.data.JsonReader({
							root : 'root'
						}, [{
									name : 'id'
								}, {
									name : 'orderSumId'
								}, {
									name : 'processName'

								}, {
									name : 'afterSpec'
								}, {
									name : 'ordernum'
								}, {
									name : 'processYield',
									type : 'float'
								}, {
									name : 'processUpdate',
									type : 'float'
								}, {
									name : 'unitPrice',
									type : 'float'
								}, {
									name : 'processArea',
									type : 'float'
								}, {
									name : 'processPrice',
									type : 'float'
								}, {
									name : 'untilPrice',
									type : 'float'
								}, {
									name : 'type'
								}, {
									name : 'processNum'
								}, {
									name : 'processPos'
								}])
			});
	disableStore = new Ext.data.SimpleStore({
				fields : [{
							name : 'tabName'
						}, {
							name : 'tabId'
						}

				]
			});
	var myData = [];
	for (var i = 1; i <= 12; i++) {
		myData.push([i]);
	}
	monthStore = new Ext.data.SimpleStore({
				fields : [{
							name : 'month'
						}]
			});
	monthStore.loadData(myData);
	myData = [];
	var dayy = new Date();
	var start = dayy.getYear();// +1900;
	if (start < 1000)
		start += 1900;
	for (var i = 0; i < 10; i++) {
		myData.push([start - i]);
	}
	yearStore = new Ext.data.SimpleStore({
				fields : [{
							name : 'year'
						}]
			});
	yearStore.loadData(myData);
	initGrid();
}
var disableStore;
var disableRecord = Ext.data.Record.create([{
			name : 'tabName'
		}, {
			name : 'tabId'
		}]);
var detailRecord;
var processStore;
function initProcessData() {

	processStore.load({
				params : {
					orderSumId : detailRecord.getSelections()[0].data["id"],
					type : detailRecord.getSelections()[0].data["type"]
				},
				callback : function(records, o, s) {

					if (s) {
						detailForm.findById("detailId").getView().refresh();
					}
					// detail.getView().refresh();// 这里要刷新一下才显示得出来.
				}

			});
}
var win;
var detailWin;
var searchForm;
var tab;
var ossList;
function getSearchForm() {
	if (!searchForm)
		searchForm = new Ext.FormPanel({
					labelWidth : 75,
					// url : 'orderInput.do?action=jump',
					frame : true,
					bodyStyle : 'padding:5px 5px 0',
					width : 340,
					defaults : {
						width : 230
					},
					defaultType : 'textfield',

					items : [{

						fieldLabel : '具体规格',// 一开始漏了个主id,导致update不成功
						name : 'spec'
							// allowBlank : false
						}, {

						fieldLabel : '规格种类',// 一开始漏了个主id,导致update不成功
						name : 'specType',
						xtype : 'combo',
						allowBlank : false,
						store : sortStore,
						displayField : 'specName',
						typeAhead : true,

						listeners : {
							'select' : function(_combox, _val, _index) {
								var specName = _val.data["specName"];
								schemeStore.reload({
											params : {
												specName : specName
											},
											callback : function(_rec, o, s) {

											}
										});
								cache_spec = specName;
								// this.value=specName;
								return true;
							}

						},
						mode : 'local',
						// forceSelection : true,
						triggerAction : 'all',
						emptyText : '',
						selectOnFocus : true,
						allowBlank : false
					}, {
						xtype : 'combo',
						fieldLabel : '加工流程',// 一开始漏了个主id,导致update不成功
						name : 'scheme',

						store : schemeStore,// [['yuanzhu',"圆柱"],['fangkuai',"方块"],['others',"其他"]]
						displayField : 'scheme',
						typeAhead : true,
						mode : 'local',
						forceSelection : true,
						triggerAction : 'all',
						emptyText : '',
						selectOnFocus : true

							// allowBlank : false
						}, {
						xtype : 'combo',
						fieldLabel : '年份',// 一开始漏了个主id,导致update不成功
						name : 'year1',
						store : yearStore,// [['yuanzhu',"圆柱"],['fangkuai',"方块"],['others',"其他"]]
						displayField : 'year',
						typeAhead : true,
						mode : 'local',
						forceSelection : true,
						triggerAction : 'all',
						emptyText : '',
						selectOnFocus : true
							// allowBlank : false
						}, {
						xtype : 'combo',
						fieldLabel : '月份',// 一开始漏了个主id,导致update不成功
						name : 'month1',
						store : monthStore,// [['yuanzhu',"圆柱"],['fangkuai',"方块"],['others',"其他"]]
						displayField : 'month',
						typeAhead : true,
						mode : 'local',
						forceSelection : true,
						triggerAction : 'all',
						emptyText : '',
						selectOnFocus : true
							// alwBlank : false
						}, {
						xtype : 'numberfield',
						fieldLabel : '目标(0)或实际(1)',// 一开始漏了个主id,导致update不成功
						name : 'type'
							// allowBlank : false
						}]
				});
	return searchForm;

}
var disableForm;
var disableGrid;
function getDisableForm() {
	var xg = Ext.grid;
	var sm = new xg.CheckboxSelectionModel();

	if (!disableGrid)
		disableGrid = new xg.GridPanel({
			id : 'disable-grid',
			autoScoll : true,
			ds : disableStore,
			width : 300,
			height : 300,
			cm : new xg.ColumnModel([sm, {
						header : "列号",
						width : 30,
						sortable : true,
						dataIndex : 'tabId'
					}, {
						header : "列名",
						width : 30,
						sortable : true,
						dataIndex : 'tabName'
					}]),
			sm : sm,
			stripeRows : true,

			viewConfig : {
				forceFit : true
			},
			// autoHeight : true,
			iconCls : 'icon-grid'
				// renderTo : 'main'
			});
	if (!disableForm)
		disableForm = new Ext.FormPanel({
					labelWidth : 75,
					// url : 'orderInput.do?action=jump',
					frame : true,
					// autoScoll : true,
					// bodyStyle : 'padding:5px 5px 0',
					// width : 200,
					height : 350,
					title : "选择合适的列项输出",
					defaultType : 'textfield',
					items : disableGrid
				});
	return disableForm;

}
var indiator = 0;
function initGrid() {
	Ext.QuickTips.init();

	var xg = Ext.grid;

	if (!win) {
		win = new Ext.Window({
			layout : 'column',
			width : 355,
			// height:400,
			// height : 900,
			// autoHeight : true, // 4601782
			closeAction : 'hide',
			plain : true,
			items : detailForm,
			buttons : [{
				text : '保存',
				handler : function() {
					if (indicator == 0) {

						if (searchForm.getForm().isValid()) {
							var spec = searchForm.find("name", "spec")[0]
									.getValue();
							var specType = searchForm.find("name", "specType")[0]
									.getValue();
							var scheme = searchForm.find("name", "scheme")[0]
									.getValue();
							var year1 = searchForm.find("name", "year1")[0]
									.getValue();
							var month1 = searchForm.find("name", "month1")[0]
									.getValue();
							var type = searchForm.find("name", "type")[0]
									.getValue();
							ds.load({
										params : {
											start : 0,
											limit : 10,
											spec : spec,
											specType : specType,
											scheme : scheme,
											year1 : year1,
											month1 : month1,
											type : type
										},
										callback : function(records, o, s) {

											if (s)
												grid.getView().refresh();// 这里要刷新一下才显示得出来.
										}
									});
						};

					} else {
						var disList = [];
						var sm = disableForm.findById("disable-grid")
								.getSelectionModel();
						var arr = sm.getSelections();
						for (var i = 0; i < arr.length; i++)
							disList.push(arr[i].data["tabId"]);

						orderExcel.setOkList(disList);
						orderExcel.print();
					}
					win.hide();

				}
			}, {
				text : '清空',
				handler : function() {
				}
			}, {
				text : '关闭',
				handler : function() {
					win.hide();
				}
			}],
			modal : false
		});
	}

	// ////////////////////////////////////////////////////////////////////////////////
	// Grid
	// //////////////////////////////////////////////////////////////////////////////////////
	var sm = new xg.CheckboxSelectionModel();
	grid = new xg.GridPanel({
		id : 'button-grid',
		autoScoll : true,
		ds : ds,
		width : 1500,
		cm : new xg.ColumnModel([expander, sm, {
					header : "编号",
					width : 30,
					hidden : true,
					sortable : true,
					dataIndex : 'id'
				}, {
					header : "目标或实际",
					width : 30,
					sortable : true,
					dataIndex : 'status'
				}, {
					header : "牌号",
					width : 30,
					sortable : true,
					dataIndex : 'ssign'
				}, {
					header : "规格",
					width : 90,
					sortable : true,
					dataIndex : 'spec'
				}, {
					header : "分厂号",
					width : 30,
					sortable : true,
					dataIndex : 'factory'
				}, {
					header : "订单号",
					width : 30,
					sortable : true,
					dataIndex : 'transnum'
				}, {
					header : "订单数量",
					width : 30,
					sortable : true,
					dataIndex : 'ordernum'
				}, {
					header : "入库牌号",
					width : 30,
					sortable : true,
					dataIndex : 'ssign_yz'
				}, {
					header : "配方价格",
					width : 30,
					sortable : true,
					dataIndex : 'peifang'
				}, {
					header : "毛坯入库规格",
					width : 30,
					sortable : true,
					dataIndex : 'spec_yz'
				}, {
					header : "毛重",
					width : 30,
					sortable : true,
					dataIndex : 'grossweight'
				}, {
					header : "前道",
					width : 30,
					sortable : true,
					dataIndex : 'qiandao_yield'
				}, {
					header : "已磨",
					width : 30,
					sortable : true,
					dataIndex : 'yimo'
				}, {
					header : "未磨",
					width : 30,
					sortable : true,
					dataIndex : 'weimo'
				}, {
					header : "废品率",
					width : 30,
					hidden : true,
					sortable : true,
					dataIndex : 'feipin'
				}, {
					header : "前道费用",
					width : 30,
					sortable : true,
					dataIndex : 'qiandao_cost'
				}, {
					header : "入库成本",
					width : 30,
					sortable : true,
					dataIndex : 'product_cost_before'
				}, {
					header : "规格类型",
					width : 30,
					sortable : true,
					hidden : true,
					dataIndex : 'specType'
				}, {
					header : "加工流程",
					width : 30,
					sortable : true,
					hidden : true,
					dataIndex : 'processScheme'
				}, {
					header : "镀层",
					width : 30,
					sortable : true,
					dataIndex : 'plate'
				}, {
					header : "包装费",
					width : 30,
					sortable : true,
					dataIndex : 'baozhuangfei'
				}, {
					header : "成本",
					width : 30,
					sortable : true,
					dataIndex : 'product_cost_last'
				}, {
					header : "后道",
					width : 30,
					sortable : true,
					dataIndex : 'houdao_yield'
				}, {
					header : "售价",
					width : 30,
					sortable : true,
					dataIndex : 'ordercost'
				}, {
					header : "利润",
					width : 30,
					sortable : true,
					dataIndex : 'lirun'
				}, {
					header : "月份",
					width : 30,
					sortable : true,
					dataIndex : 'month1'
				}, {
					header : "年份",
					width : 30,
					sortable : true,
					dataIndex : 'year1'
				}, {
					header : "日期",
					width : 30,
					sortable : true,
					dataIndex : 'date1'
				}, {
					header : "备注",
					width : 30,
					sortable : true,
					dataIndex : 'bz'
				}, {
					header : "结算人",
					width : 30,
					sortable : true,
					dataIndex : 'maker'
				}, {
					header : "结算日期",
					width : 30,
					sortable : true,
					dataIndex : 'makeDate'
				}]),
		sm : sm,
		// stripeRows : true,

		viewConfig : {
			forceFit : true
		},
		plugins : [expander],

		bbar : new Ext.PagingToolbar({
					pageSize : 10,
					store : ds,
					displayInfo : true,
					displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
					emptyMsg : "没有记录"
				}),
		// autoHeight : true,
		height : 650,
		renderTo : 'main',
		tbar : [{
			text : '修改',
			tooltip : '添加新的结算信息',
			iconCls : 'add',
			onClick : function() {
				// 这里添加到数据库的session中。
				if (sm.getCount() == 1) {
					var list = sm.getSelections();
					
					orderSumMain.findIdByInf(list[0].data["ssign"],
							list[0].data["spec"], list[0].data["year1"],
							list[0].data["month1"], list[0].data["type"]==0?1:0,
							function(ret) {
								if (ret) {
									var id, id2;
									if (list[0].data["type"] == 0) {
										id2 = list[0].data["id"];
										id = ret;
									} else {
										id = list[0].data["id"];
										id2 = ret;
									}
									window.location.href = "orderCaiLiaoIndex.jsp?id="
											+ id + "&id2=" + id2;
								} else {
									Ext.Msg.alert("错误", "不能找到对应的数据");
								}
							});

				} else {
					Ext.MessageBox.alert('提示', '请选择一条记录！');
				}
			}
		}, '-', {
			text : '添加',
			tooltip : '添加新的结算信息',
			iconCls : 'add',
			onClick : function() {
				window.location.href = "orderInput.jsp";
			}
		}, '-', {
			text : '详细',
			tooltip : '察看一条结算信息',
			iconCls : 'option',
			onClick : function() {
				if (sm.getCount() == 1) {
					detailRecord = sm;
					initProcessData();
					detailGrid = getProcessGrid();
					detailForm = getDetailForm();
					getDetailWin();
					var items = new Ext.util.MixedCollection();
					items.add("form", detailForm);
					detailWin.items = items;
					detailWin.show(this);
					detailForm.getForm().reset();
					detailForm.getForm().loadRecord(detailRecord.getSelected());
					// ;
				} else {
					Ext.MessageBox.alert('提示', '请选择一条记录！');
				}
			}
		}, '-', {
			text : '删除',
			tooltip : '删除选择的结算信息',
			iconCls : 'remove',
			onClick : function() {
				if (sm.hasSelection() == 1) {
					Ext.MessageBox.confirm('提示', '你确定要删除这些结算信息么?', function(
							button) {
						if (button == 'yes') {
							var list = sm.getSelections();
							orderSumMain.removeOSM(list[0].data["id"],
									function(_ret) {
										if (_ret) {
											Ext.Msg
													.confirm(
															"提示",
															"是否需要同时删除对应的目标或者实际订单？'yes'--是，'no'--不是",
															function(button) {
																if (button == 'yes') {

																	orderSumMain
																			.findIdByInf(
																					list[0].data["ssign"],
																					list[0].data["spec"],
																					list[0].data["year1"],
																					list[0].data["month1"],
																					list[0].data["type"]==0?1:0,
																					function(
																							ret) {
																						if (ret) {
																							orderSumMain
																									.removeOSM(
																											ret,
																											function(
																													ret) {

																												if (ret) {
																													ds
																															.reload();
																													Ext.Msg
																															.alert(
																																	"提示:",
																																	"删除成功！");
																												} else
																													Ext.Msg
																															.alert(
																																	"提示：",
																																	"删除失败！");
																											});
																						} else {
																							Ext.Msg
																									.alert(
																											"错误",
																											"不能找到对应的数据");
																						}
																					});

																} else {
																	ds.reload();
																	Ext.Msg
																			.alert(
																					"提示:",
																					"删除成功！");
																}
															});

										}
									})
						}
					});
				} else {
					Ext.MessageBox.alert('提示', "请选择一条记录!");
				}
			}
		}, '-', {
			text : '设置查询条件',
			tooltip : '选择查询的订单结算的条件',
			iconCls : 'remove',
			onClick : function() {
				indicator = 0;
				searchForm = getSearchForm();
				if (disableForm)
					disableForm.hide();
				searchForm.show();
				var items = new Ext.util.MixedCollection();
				items.add("form", searchForm);
				win.items = items;
				win.show(this);
				searchForm.getForm().reset();
			}
		}, '-', {
			text : '导出到excel',
			tooltip : '选择同一个规格类型和加工流程的结算记录导出到excel',
			iconCls : 'remove',
			onClick : function() {
				if (sm.hasSelection() >= 1) {
					// 这里先要判断是否是属于同一个加工流程和加工规格的
					var arr = sm.getSelections();
					var s = arr[0].data["specType"];
					var p = arr[0].data["processScheme"];
					for (var i = 1; i < arr.length; i++) {
						if (arr[i].data["specType"] != s) {
							Ext.Msg.alert("提示", "加工规格不一致");
							return;
						}
						if (arr[i].data["processScheme"] != p) {

							Ext.Msg.alert("提示", "加工流程不一致");
							return;
						}

					}
					orderExcel.removeAll();
					// 进行转换。

					stepStore.load({
						params : {
							scheme : p,
							sortType : s
						},
						callback : function(_ret) {
							indicator = 1;
							orderExcel.setProcessStore(stepStore);
							disableStore.removeAll();
							// 这里需要提出选择的tab
							for (var i = 0; i < orderExcel.getName().length; i++) {
								var r = new disableRecord({
											tabName : orderExcel.getName()[i],
											tabId : i
										});

								disableStore.add(r);
							}
							// 将加工细节先添加进去。
							dwr.engine.setAsync(false);
							for (var i = 0; i < arr.length; i++) {
								orderSumSub.findOrderSumSubs(arr[i].data["id"],
										arr[i].data["type"], function(data) {
											orderExcel.readData(arr[i], data);
										});
							}

							dwr.engine.setAsync(true);

							disableForm = getDisableForm();
							if (searchForm)
								searchForm.hide();
							disableForm.show();
							var items = new Ext.util.MixedCollection();
							items.add("form", disableForm);
							win.items = items;
							win.show(this);
							disableForm.getForm().reset();
						}
					});

				} else {
					Ext.MessageBox.alert('提示', "请至少选择一条记录!");
				}

			}
		}],
		// frame:true,
		// title : '结算信息列表',
		iconCls : 'icon-grid'
			// renderTo : 'main'
	});
	/*
	 * form = new Ext.FormPanel({
	 * 
	 * frame : true, // baseCls : 'x-plain', layout : 'form',
	 * 
	 * autoScroll : true, width : 700, height:400, //autoHeight : true,
	 * bodyStyle : 'padding:5px;', //renderTo : 'main', items : [grid], //
	 * inline toolbars
	 * 
	 * });
	 */
};
var processGrid;
function getProcessGrid() {
	if (!processGrid) {
		var sm = new Ext.grid.CheckboxSelectionModel();
		var cm = new Ext.grid.ColumnModel([sm, {
					header : "编号",
					dataIndex : 'id',
					width : 80
				}, {
					header : "加工名称",
					width : 80,
					dataIndex : 'processName'
				}, {
					header : "加工后规格",
					width : 80,
					dataIndex : 'afterSpec'

				}, {
					header : "加工件数",
					width : 80,
					dataIndex : 'processNum'

				}, {
					header : "加工步骤",
					width : 80,
					dataIndex : 'processPos'
				}, {
					header : "加工成品率",
					width : 80,
					dataIndex : 'processYield'

				}, {
					header : "加工价格提升",
					width : 80,
					dataIndex : 'processUpdate'

				}, {
					header : "加工单价",
					width : 80,
					dataIndex : 'unitPrice'

				}, {
					header : "加工面积",
					width : 80,
					dataIndex : 'processArea'
				}, {
					header : "加工价格",
					width : 80,
					dataIndex : 'processPrice'

				}, {
					header : "到目前为止价格",
					width : 80,
					dataIndex : 'untilPrice'

				}]);

		var ret = new Ext.grid.GridPanel({
					id : 'detailId',
					width : 800,
					height : 300,
					viewConfig : {
						forceFit : false
					},
					// autoScroll : true,
					ds : processStore,
					cm : cm,
					sm : sm,

					title : '详细加工信息'
				});
		return ret;
	} else
		return processGrid;
}
var detailForm;
function getDetailForm() {
	//
	if (!processGrid)
		processGrid = getProcessGrid();

	if (!detailForm) {

		detailForm = new Ext.FormPanel({

					labelAlign : 'left',
					title : '详细信息',
					buttonAlign : 'right',
					// bodyStyle : 'padding:5px;',
					width : 850,
					height : 600,
					frame : true,// 设置了面板的边角是圆弧过度的，底色
					labelWidth : 80,
					// autoScroll : true,
					items : [{
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '编号',
														readOnly : true,
														name : 'id',
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '目标或实际',
														readOnly : true,
														// value : _cus.attn,
														name : "status",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '年份',
														readOnly : true,
														// value : _cus.attn,
														name : "year1",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '月份',
														readOnly : true,
														// value : _cus.attn,
														name : "month1",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '规格',
														readOnly : true,
														// value : _cus.attn,
														name : "spec",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '牌号',
														readOnly : true,
														// value : _cus.attn,
														name : "ssign",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '订单号',
														readOnly : true,
														// value : _cus.attn,
														name : "transnum",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '订单数量',
														readOnly : true,
														// value : _cus.attn,
														name : "ordernum",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '分厂号',
														readOnly : true,
														// value : _cus.attn,
														name : "factory",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '入库牌号',
														readOnly : true,
														// value : _cus.attn,
														name : "ssign_yz",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '入库规格',
														readOnly : true,
														// value : _cus.attn,
														name : "spec_yz",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '配方价格',
														readOnly : true,
														// value : _cus.attn,
														name : "peifang",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '前道收得率',
														readOnly : true,
														// value : _cus.attn,
														name : "qiandao_yield",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '未磨成品率',
														readOnly : true,
														// value : _cus.attn,
														name : "weimo",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '已磨成品率',
														readOnly : true,
														// value : _cus.attn,
														name : "yimo",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '毛重',
														readOnly : true,
														// value : _cus.attn,
														name : "grossweight",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '废品率',
														readOnly : true,
														// value : _cus.attn,
														name : "feipin",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '前道费用',
														readOnly : true,
														// value : _cus.attn,
														name : "qiandao_cost",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '产品入库成本',
														readOnly : true,
														// value : _cus.attn,
														name : "product_cost_before",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '规格类型',
														readOnly : true,
														// value : _cus.attn,
														name : "specType",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '加工流程编号',
														readOnly : true,
														// value : _cus.attn,
														name : "processScheme",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '镀层',
														readOnly : true,
														// value : _cus.attn,
														name : "plate",
														anchor : '90%'
													}]
										}]
							}, processGrid, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '订单日期',
														readOnly : true,
														// value : _cus.attn,
														name : "date1",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '包装费',
														readOnly : true,
														// value : _cus.attn,
														name : "baozhuangfei",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '后道成品率',
														readOnly : true,
														// value : _cus.attn,
														name : "houdao_yield",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '实际成本',
														readOnly : true,
														// value : _cus.attn,
														name : "product_cost_last",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '订单成本',
														readOnly : true,
														// value : _cus.attn,
														name : "ordercost",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '订单利润',
														readOnly : true,
														// value : _cus.attn,
														name : "lirun",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '备注',
														readOnly : true,
														// value : _cus.attn,
														name : "bz",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '结算人',
														readOnly : true,
														// value : _cus.attn,
														name : "maker",
														anchor : '90%'
													}]
										}, {
											columnWidth : .241,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '结算时间',
														readOnly : true,
														// value : _cus.attn,
														name : "makeDate",
														anchor : '90%'
													}]
										}]
							}]

				});
	} else {
		// 这里还有一点问题。
		detailForm.add(processGrid);

	}
	return detailForm;
}// 构造了一个插入的界面。
function getDetailWin() {
	if (!detailWin)
		detailWin = new Ext.Window({
					layout : 'column',
					width : 850,
					height : 600,
					// autoHeight : true, // 4601782
					closeAction : 'hide',
					plain : true,
					items : detailForm,
					modal : false
				});
}
